#ifndef __MODEL_DRAW_H__
#define __MODEL_DRAW_H__

#include "Common.h"
#include "dl_creationadapter.h"
#include "Model.h"
#include "wx/wx.h"

class ModelDraw
{
public:
    ModelDraw();
    virtual ~ModelDraw();

    bool setup();
    bool teardown();

    void setModel(Model*);

    void drawPoint(const DL_PointData*);
    void drawLine(const DL_LineData*);
    void drawArc(const DL_ArcData*);
    void drawCircle(const DL_CircleData*);
    void drawEllipse(const DL_EllipseData*);
    void drawPolyline(const DL_PolylineData*);

    void drawModel();

    void blit(wxDC&);

protected:
    wxBitmap* m_bitmap;
    wxMemoryDC* m_memory_dc;
    Model* m_model;
};

#endif